<!DOCTYPE html>
<html lang="en" xmlns:shiro="http://www.w3.org/1999/xhtml">
<head>
    <div th:insert="commons.html"></div>
    <meta charset="UTF-8">
    <style>
        .iframeClass{
            height:800px !important;
        }
    </style>
    <script type="text/javascript">

        $(function (){

            $('#table').bootstrapTable({
                url: '/role/getInfo',
                method: 'GET',                      //请求方式（*）
                toolbar: '#toolbar',              //工具按钮用哪个容器
                striped: true,                      //是否显示行间隔色
                cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
                pagination: true,                   //是否显示分页（*）
                sortable: true,                     //是否启用排序
                sortOrder: "asc",                       //排序方式
                sidePagination: "client",           //分页方式：client客户端分页，server服务端分页（*）
                pageNumber: 1,                      //初始化加载第一页，默认第一页,并记录
                pageSize: 3,                     //每页的记录行数（*）
                pageList: [2, 5, 10, 20],        //可供选择的每页的行数（*）
                search: true,                      //是否显示表格搜索
                // strictSearch: true,
                showColumns: true,                  //是否显示所有的列（选择显示的列）
                showRefresh: true,                  //是否显示刷新按钮
                minimumCountColumns: 2,             //最少允许的列数
                clickToSelect: true,                //是否启用点击选中行
                uniqueId: "roleId",                     //每一行的唯一标识，一般为主键列
                showToggle: true,                   //是否显示详细视图和列表视图的切换按钮
                cardView: false,                    //是否显示详细视图
                detailView: false,                  //是否显示父子表

                columns: [{
                    checkbox: true,
                    visible: true                  //是否显示复选框
                },{
                    field: 'roleId',
                    title: 'ID'
                }, {
                    field: 'roleName',
                    title: '角色名称'
                }, {
                    field: 'roleId',
                    title: '操作',
                    formatter: function (value, row, index) {
                        var id = value;
                        var result = "";
                        result += "<a href='javascript:;' class='btn btn-xs blue' onclick=\"EditViewById('" + id + "')\" title='编辑'><span class='glyphicon glyphicon-pencil'></span></a>";
                        result += "<a href='javascript:;' class='btn btn-xs red' onclick=\"DeleteByIds('" + id + "')\" title='删除'><span class='glyphicon glyphicon-remove'></span></a>";
                        return result;
                    }
                }
                ]
            });
        })
        function EditViewById(id){
            BootstrapDialog.show({
                title: '修改',
                message: $('<div></div>').load('/role/toUpdate/' +id),
                closeable: true,
                buttons: [{
                    label: '确定',
                    action: function (dialog) {
                        //获取整棵树
                        var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
                        //获取被选中的节点
                        var nodes = treeObj.getCheckedNodes(true);
                        var nodesIds = [];
                        for (var i = 0; i < nodes.length; i++) {
                            nodesIds.push(nodes[i].id);
                        }
                        if (nodesIds.length <= 0){
                            toastr.info("请选择你需要执行的菜单");
                            return;
                        }
                        $.ajax({
                            url: "/role/updateInfo",
                            type: "post",
                            dataType: "json",
                            data: {roleId:$("[name=rid]").val(),roleName:$("[name=rname]").val(),nodesIds:nodesIds},
                            success: function (data) {
                                toastr.success("修改成功")
                                dialog.close();
                                getData()
                            },
                            error: function (data) {
                                toastr.error("修改失败")
                            }
                        })
                    }
                }]
            });
        }
        function DeleteByIds(id){
            if (confirm("真的要删除吗")){
                $.ajax({
                    url:"/role/deleteById",
                    data: {roleId:id},
                    type: "get",
                    dataType: "json",
                    async:true,
                    success:function (result){
                        if (result){
                            toastr.success("删除成功");
                            $("#table").bootstrapTable("refresh");
                        }else {
                            toastr.error("删除失败");
                        }
                    },
                    error:function (result){
                        toastr.error("操作失败");
                    }
                })
            }

        }
        function insert() {
            BootstrapDialog.show({
                title: '增加',
                message: $('<div></div>').load('/role/toAdd'),
                closeable: true,
                buttons: [{
                    label: '确定',
                    action: function (dialog) {
                        //获取整棵树
                        var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
                        //获取被选中的节点
                        var nodes = treeObj.getCheckedNodes(true);
                        var nodesIds = [];
                        for (var i = 0; i < nodes.length; i++) {
                            nodesIds.push(nodes[i].id);
                        }
                        if (nodesIds.length <= 0){
                            toastr.info("请选择你需要执行的菜单");
                            return;
                        }
                        $.ajax({
                            url: "/role/increase",
                            type: "post",
                            dataType: "json",
                            data: $("#role_add_form").serialize() + "&nodesIds=" + nodesIds,
                            success: function (data) {
                                toastr.success("增加成功")
                                dialog.close();
                                $("#table").bootstrapTable("refresh");
                            },
                            error: function (data) {
                                toastr.error("更新操作执行失败")
                            }
                        })
                    }
                }]
            });
        }
        function getData(){
            $("#table").bootstrapTable("refresh");
        }
    </script>
</head>
<body>
<div id="toolbar" shiro:hasPermission="role:add ">
    <input type="button" class="btn-info" value="增加" onclick="insert()">
</div>
<table id="table"></table>
</body>
</html>
